
 WICHTIG									Version: 2021.05.24
-=======-

Nach dem Einschalten des CPC / 6128plus Computers bzw. bevor 
Sie die Befehle der ROM-basierten RSX Erweiterung benutzen, 
geben Sie bitte einen der folgenden Befehle ein: 
- |LSINIT (Englischer Modus) bzw. 
- |LSINIC (Catalan/Spanischer Modus)



LambdaSpeak FS Sprach Synthesizer, Drum Maschine, Sample Spieler, Echtzeituhr und MP3/WAV Spieler
=================================================================================================

Dies ist eine Sprach-Synthesizer der neuen Generation, er emuliert/simuliert folgende Erweiterungen:

- EPSOM Modus    / - Diese Modi besitzen verschiedene Stimmen und knnen sogar singen!
- DECtalk Modus /
- dk'tronics SPEECH Synthesizer
- Amstrad SSA1 Synthesizer
- Amdrum Drumkit
- MP3 Spieler
- PCM / WAV Spieler
- Echtzeituhr
- Serielle Hochgeschwindigkeits-Schnittstelle (5 Volt Pegel)
- MIDI (mit Erweiterungs-Krtchen, via seriellem Bus)

Es ist von Vorteil den LambdaSpeak auf dem Mother X4 Board zu nutzen, denn so kann man eine
ROM Erweiterung (M4, X-MEM, etc.) anschlieen und so das umfangreiche RSX ROM nutzen.



Software Untersttzung
----------------------
- Relokatierbare RSX Erweiterung fr RAM
- ROM mit >70 RSX Kommandos
- Z80 Bibliothek
- CP/M Plus
- CP/M 2.2
- FutureOS
- Demo zum AMDRUM Modus
- Digitrakker von Prodatron
- Demo Terminal Programm
- Einige Spiele



RSX Bibliothek fr die LambdaSpeak FS Erweiterungskarte
-------------------------------------------------------
Um die RSX Befehle zu nutzen legen Sie die Diskette ins Laufwerk und tippen: run"disc
Oder Sie installieren "LSFS.ROM" als Erweiterungs-ROM. Es bietet alle RSX Befehle und mehr.


Bevor es losgeht
----------------
Nach dem Einschalten befindet sich der LambdaSpeak FS im Epson / Lambda Modus.



Befehlsbersicht
================

Das RSX Kommando |LSHELP zeigt die Befehle an:
----------------------------------------------

RSX commands for LambdaSpeak FS: Version: 2021.04.12 / Needs Firmware Ver. > 7

|LSINIT / |LSINIC --> Use commands to (re)initialize LambdaSpeak FS
|RESET             |STOP             |SP,@text$      |LAMBDASPEAK,@text$
|SETVOLUME,0-15    |GETVOLUME,@v%    |SETVOICE,0-15  |GETVOICE,@v%
|SETSPEED,0-15     |GETSPEED,@v%     |SETDELAY,0-15  |GETDELAY,@v%
|SPEAKMODE         |GETLANGUAGE,@v%  |ENGLISH        |SPANISH
|LAMBDA            |DECTALK          |SSA1           |DKTRONICS
|AMDRUM            |ADEXIT           |GETMODE,@m%    |GETFMODE,@m% 
|BLOCKON           |BLOCKOFF         |XBLKON         |XBLKOFF
|CONFOFF           |CONFON           |GETFAST        |GETMED         |GETSLOW
|SPEAKINFO         |GETVER,@v%       |SPSCREEN       |SPFILE,@file$  |BIGWATCH
|HAL9000           |PCMTEST          |DAISY          |LED,0-255
|PLAY,address,length,delay           |EPLAY,address,length/64,delay,E-RAM
|SAYTIME           |SAYDATE          |SAYTEMP        |GETTEMP,@t%
|SETTIME, hour , minute , second     |SETDATE, year , month , day , dow 
|GETTIME,@hour%,@minute%,@second%    |GETDATE,@year%,@month%,@day%,@dow%
|SERIAL            |SEROFF           |MP3SLEEP       |MP3WAKE        |MP3STA,@p%
|MP3PLAY,song      |MP3XPLAY,dir,sng |MP3PLAYC,song  |MP3PLAYF,folder(01-99)
|MP3VOL,vol(0-30)  |MP3STOP          |MP3HOLD        |MP3CONT        |MP3RES
|S.CMD,a%[,b%,..]  |S.DAT,byte       |S.STR,@text$  
|R.STAT,@bytes%    |R.DAT,@data%     |X.CMD,cmd,@p% 
|LEDON             |LEDOFF           |LEDSET,0-255   <-- LSF LED mode only!
|LSHELP --> zeigt diese Meldung an. Untersttzen Sie mittels PayPal: tfm@futureos.de (Keine Email-Adresse)

Hilfe zur Software ist erreichbar unter: FutureSoft@gmx.de (keinesfalls: TFM@FutureOS.de)



Befehle zur Kontrolle des LambdaSpeak FS
----------------------------------------

Achtung: Eines der beiden folgenden Kommandos sollte benutzt werden bevor Sie LambdaSpeak FS Kommandos benutzen1

|LSINIT: Initialisiert den LambdaSpeak FS bei Verwendung des LambdaSpeak FS ROMs. Im einzenlnen werden die Parameter-bergabe 
         auf 'schnell' (mittels |GETFAST), die Sprache auf Englisch (|ENGLISH), die Blockierung auf aus (|BLOCKOFF), der 
         Modus auf Epson (|LAMBDA) und die Sprechverzgerung auf minimal (20 ms) eingestellt (|SETDELAY,1).

|LSINIC: Initialisiert den LambdaSpeak FS bei Verwendung des LambdaSpeak FS ROMs. Im einzenlnen werden die Parameter-bergabe 
         auf 'schnell' (mittels |GETFAST), die Sprache auf Spanisch (|SPANISH), die Blockierung auf aus (|BLOCKOFF), 
         der Modus auf Epson (|LAMBDA) und die Sprechverzgerung auf minimal (20 ms) eingestellt (|SETDELAY,1).

|RESET.: Entspricht dem Ein- und Ausschalten des LambdaSpeak FS. Setzt den LambdaSpeak FS in den dk'tronics Modus.

|STOP..: Unterbricht die laufende Sprachausgabe (NUR im Non-Blocking-Modus).
         Achtung: Zuvor mu der LambdaSpeak FS mittels |BLOCKOFF und |XBLKOFF komplett entblockiert werden.

|WAIT..: Wartet bis LambdaSpeak FS bereit ist. Also bis Port &FBEE dem Wert &20 oder &80 entspricht.



Befehle zur Auswahl des LambdaSpeak FS Modus
--------------------------------------------

|LAMBDA...: Selektiert den mchtigen Epson Modus.

|DECTALK..: Selektiert den DECtalk Modus, hierbei ist sogar singen mglich.

|SSA1.....: Schaltet den Amstrad SSA-1 Modus ein. Der LambdaSpeak FS emuliert nun den Amstrad SSA-1 Spachsynthesizer.

|DKTRONICS: Schaltet auf dk'tronics Modus um. Der LambdaSpeak FS emuliert nun den dk'tronics Spachsynthesizer.

|AMDRUM...: Schaltet auf den Amdrum Modus um. Der LambdaSpeak FS emuliert nun das AMDRUM.
            Dieser Modus muss aktiv sein, wenn die Befehle |PLAY und |EPLAY benutzt werden sollen.
            Achtung: Der Amdrum Modus kann nur durch ein- und ausschalten des CPC / LambdaSpeak FS verlassen werden!

|ADEXIT...: Beendet den AMDRUM Modus und setzt den LambdaSpeak zurck.

|SERIAL...: Schalted den seriellen Modus ein

|SEROFF...: Schalted den seriellen Modus aus



Befehle zum Einstellen der Parameter des LambdaSpeak FS
-------------------------------------------------------

|SETVOLUME,0-15: Setzt die Lautstrke auf einen Wert von 1 bis 15. Der Wert 0 stellt den Standard ein.

|SETVOICE,0-15: Setzt die Stimme auf einen Wert von 1 bis 15. Der Wert 0 stellt den Standard ein.

|SETSPEED,0-15: Setzt die Sprechgeschwindigkeit auf einen Wert von 1 bis 15. Der Wert 0 stellt den Standard ein.

|SETDELAY,0-15: Setzt die Verzgerung auf einen Wert von 1 bis 15. Der Wert 0 stellt den Standard ein.
                Dabei ist die vergangene Zeit gemeint, bis die an den LambdaSpeak FS geschickten Zeichen gesprochen werden

|ENGLISH: Schaltet die Sprachausgabe auf Englisch.

|SPANISH: Schaltet die Sprachausgabe auf Spanisch.
          Wie benutzt man die Spanischen Spezial-Zeichen?
          ASCII Codes grer als 127 mssen als HEX-Wert bergeben werden.
          Dementsprechend werden die Buchstaben: , , , , , ,  
          (reprsentiert durch &E1, &E9, &ED, &F3, &FA, &FC, &F1)
          in folgender Form an den LambdaSpeak gesendet: "\x??".
          In unserem Beispiel: \xE1, \xE9, \xED, \xF3, \xFA, \xFC, \xF1

|BLOCKON und |BLOCKOFF: Diese beiden Kommandos schalten das 'Blocking' fr Sprachausgabe ein oder aus.
                        Bei eingeschaltenem 'Blocking' hlt der LambdaSpeak FS den CPC solange an, 
                        bis alle Zeichen gesprochen wurden und der LambdaSpeak FS wieder bereit ist.

|XBLKON and |XBLKOFF: Diese beiden Kommandos schalten das 'Blocking' fr 'Statusmeldungen' ein oder aus.
                      Bei eingeschaltenem 'Blocking' hlt der LambdaSpeak FS den CPC solange an, 
                      bis die aktuelle Statusmeldung gesprochen wurden und der LambdaSpeak FS wieder bereit ist.

|CONFON und |CONFOFF: Schalten die 'Conformations' ein oder aus. Sind die Eingeschalten, so wird der LambdaSpeak FS
                      alle nderungen (z.B. Modus, Sprache etc.) akustisch quittieren.

|GETFAST, |GETMED und |GETSLOW: Definieren wie lange der LambdaSpeak FS Daten auf den Bus legt um vom CPC gelesen werden
                                zu knnen. Das kann 10 us, 50 us oder 20 ms lang sein.
                                Schneller Maschinencode sollte 'fast' benutzen, also 10 us. Das gilt auf fr FutureOS.
                                Normaler Maschinencode sollte 'medium' nutzen, also 50 us. Ebenso RSX Erweiterungen.
                                Fr BASIC Programme (z.B. IN und OUT Befehle) sollte man auf 'slow' = 20 ms schalten.



Befehle zum Auslesen der Parameter des LambdaSpeak FS
-----------------------------------------------------

|GETVOLUME,@v%: Liest den Wert der 'Lautstrke' (1 bis 15) in eine Variable ein.
                Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETVOICE,@v%: Liest den Wert der 'Stimme' (1 bis 15) in eine Variable ein.
               Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETSPEED,@v%: Liest den Wert der 'Sprechgeschwindigkeit' (1 bis 15) in eine Variable ein.
               Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETDELAY,@v%: Liest den Wert der 'Verzgerung bis zum Sprechen' (1 bis 15) in eine Variable ein.
               Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETLANGUAGE,@v%: Liest den Wert der 'Sprache' (1 bis 15) in eine Variable ein.
                  Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETMODE,@v%.: Liest den Wert des 'Sprach-Modus' (1 bis 15) in eine Variable ein. Hngt von Modus, Sprach und Blocking ab.
               Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETFMODE,@v%: Liest den vollen Modus in dem sich LambdaSpeak FS momentan befindet
               Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|GETVER,@v%: Liest den Wert der Version des LambdaSpeak FS (1 bis 255) in eine Variable ein.
             Die verwendete Variable (hier: v%) muss vor Verwendung definiert werden.

|SPEAKMODE: Der LambdaSpeak FS gibt seinen aktuellen Sprach-Modus an.



Befehle zur Sprachausgabe
-------------------------

|SP,@text$ oder |LAMBDASPEAK,@text$: Der in Variable text$ enthaltene Text wird mittels des LambdaSpeak FS gesprochen.
                                     Sie sollten zuvor in den Epson oder DECtalk Modus schalten.
                                     Achtung: Vor diesem Kommando mssen zuerst |LSINIT oder |LSINIC benutzen!

|SPEAKSCREEN: Der aktuelle Bildschirminhalt wird mittels des LambdaSpeak FS gesprochen.
              ACHTUNG: Wenn sich der LambdaSpeak FS nicht in Epson bzw. DECtalk Mode befindet wird auf Epson geschalten.
                       Und die Confirmations werden AUS geschalten.
              -------- Das Kommando kann durch lngeres drcken des ESCape Taste abgebrochen werden.

|SPFILE,file$: Der Inhalt der ASCII Datei 'file$' wird mittels des LambdaSpeak FS gesprochen
               ACHTUNG: Man muss das Kommando |LSINIT, |LAMBDA oder |DECTALK vor diesem Kommando ausfhren.
                        Ansonsten wird der LSFS in den EPSON Modus geschalten und die Confirmations sind AUS.
               -------- Das Kommando kann durch lngeres drcken des ESCape Taste abgebrochen werden.



Befehle zur Kontrolle der Echtzeituhr des LambdaSpeak FS
--------------------------------------------------------

|SAYTIME: Der LambdaSpeak FS spricht die Uhrzeit

|SAYDATE: Der LambdaSpeak FS spricht das Datum

|SETTIME: Das Format des Befehls ist |SETTIME, Stunde(0-23), Minute(0-59), Sekunde(0-59)
          Dieser Befehl setzt die Uhrzeit der Echtzeituhr des LambdaSpeak FS.
          Achtung: Dieses Kommando schaltet die Confirmations aus, Sie sollten es mittels |CONFON wieder einschalten.

|SETDATE: Das Format des Befehls ist |SETDATE, Jahr(00-99), Monat(1-12), Tag(1-31), Wochentag(1-7)
          Dieser Befehl setzt das Datum und den Wochentag der Echtzeituhr des LambdaSpeak FS.
          Dabei ist 1 = Montag und 7 = Sonntag.
          Achtung: Dieses Kommando schaltet die Confirmations aus, Sie sollten es mittels |CONFON wieder einschalten.

|GETTIME: Das Format des Befehls ist Stunde%=0:Minute%=0:Sekunde%=0:|GETTIME,@Stunde%,@Minute%,@Sekunde%
          Durch diesen Befehl kann die Uhrzeit der Echtzeituhr des LambdaSpeak FS in Variablen gelesen werden.
          Dieses Kommando schaltet den Lambda/Epson Modus ein (falls nicht schon DEC bzw. Epson Mode aktiv)

|GETDATE: Das Format des Befehls ist Jahr%=0:Monat%=0:Tag%=0:Wochentag%=0:|GETDATE,@Jahr%,@Monat%,@Tag%,@Wochentag%
          Durch diesen Befehl kann das Datum der Echtzeituhr des LambdaSpeak FS in Variablen gelesen werden.
          Dieses Kommando schaltet den Lambda/Epson Modus ein (falls nicht schon DEC bzw. Epson Mode aktiv)



Befehle zum Amdrum Modus und fr den PCM Sample Player Modus des LambdaSpeak FS
-------------------------------------------------------------------------------

|AMDRUM...: Schaltet auf den Amdrum Modus um. Der LambdaSpeak FS emuliert nun das AMDRUM.
            Dieser Modus muss aktiv sein, wenn die Befehle |PLAY und |EPLAY benutzt werden sollen.
            Achtung: Der Amdrum Modus kann nur durch |ADEXIT verlassen werden! (Firmware Version 5 oder hher)

|ADEXIT...: Beendet den AMDRUM Modus und setzt den LambdaSpeak zurck. Implementiert ab Firmware Version 5.

|PCMTEST: Schickt ein 'Beispiel-sample' an den Digital-Analog-Wandler der Amdrum Emulation. Endlosschleife.

|PLAY,adr,len,del: Spielt ein Sample via Amdrum Emulation. Das Sample beginnt an Adresse 'adr' im Speicher,
                   es ist 'len' Bytes lang und wird mit der Verzgerung von 'del' abgespielt.
                   Achtung: Fr diesen Befehl muss zuvor mit dem Befehl |AMDRUM auf den AMDRUM
                   -------- Modus umgeschalten werden.

|EPLAY,adr,len/64,delay,E-RAM: Spielt ein Sample via Amdrum Emulation. Das Sample beginnt ab Adresse 'adr'
                               im Speicher. Es ist 'len/64' Bytes lang. Die Lnge in Bytes ist also: len * 64
                               Dadurch lassen sich Samples bis zu 4096 KB abspielen.
                               Das Erweiterungs-RAM in dem das Sample beginnt wird mittels 'E-RAM' bergeben.
                               Der Parameter E-RAM hat das Fomat &7FC4, &7FC5, ... &7FFF.
                               Achtung: Fr diesen Befehl muss zuvor mit dem Befehl |AMDRUM auf den AMDRUM
                               -------- Modus umgeschalten werden.

ACHTUNG: Samples im Hauptspeicher werden mittels |PLAY abgespielt.
-------- Und Samples im Erweiterungs-RAM mittels |EPLAY.


Fr den Amdrum Mode des LS liegt eine angepasste Version von Prodatrons DigiTrakker 1.4 vor.



Kommandos um das MP3 Modul des LambdaSpeak FS zu kontrollieren
--------------------------------------------------------------

|MP3PLAY.: Das Format dieses Kommandos ist |MP3PLAY, Nummer_des_Liedes. Die Nummer liegt zwischen 1 und 99.
           Im Hauptverzeichnis der SD Karte des MP3 Modules muss eine MP3 vorliegen, deren Namen mit der Nummer beginnt.
           Beispiele:
           |MP3PLAY,1 spielt das Lied "001_Das_Miauen_der_Katze" oder...
           |MP3PLAY,7 spielt das Lied "007_FutureOS_rulez" und so weiter...
           Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak FS!

|MP3XPLAY: Das Format dieses Kommandos ist |MP3XPLAY, Verzeichnis, Nummer_des_Liedes 
           Dieses Kommando spielt ein Lied (durch eine Nummer bezeichnet) auf einem Verzeichnis (durch Nummer bezeichnet)
           Dabei beginnen sowohl Namen als auch Verzeichnisse mit Nummern (001xxx bis 099xx), der Rest des Names ist egal.
           Beispiel:
           |MP3XPLAY,1,1 spielt das Lied "001_Captain_Future" aus dem Verzeichnis "01_CF"
           Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak FS!

|MP3PLAYC: Das Format dieses Kommandos ist |MP3PLAYC,Nummer_des_Liedes (1-99).
           Das gleiche Lied wird in einer Schleife gespielt.
           Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak FS!

|MP3PLAYF: Das Format dieses Kommandos ist |MP3PLAYF, Verzeichnis(01-99)
           Um alle Lieder eines Verzeichnisses (Namen: 01xxx bis 99xxx) in Schleife zu spielen wird dieses Kommando genutzt.
           Beispiel: |MP3PLAYF,9 spielt alle Lieder aus dem Verzeichnis "09_A_Tribute_to_the_Sisters" in Schleife
           Wie gewhnlich sollten die Namen der MP3 Lieder mit "01xxx" up to "99xxx" beginnen.
           Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak FS!

|MP3VOL..: Das Format dieses Kommandos ist |MP3VOL, Lautstrke(0-30)
           Um die Lautstrke einzustellen mit der MP3 Song gespielt werden kann dieses Kommando genutzt werden.
           Der Wert 0 ist dabei der leiseste (AUS) und 30 steht fr maximale Lautstrke
           Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak FS!

|MP3STOP.: Beendet die Wiedergabe des aktuellen MP3 Songs. Es herrscht Ruhe!
           Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak FS!

|MP3HOLD.: Pausiert den aktuell gespielten MP3 Song.
           Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak FS!

|MP3CONT.: Der aktuelle MP3 Song wird weitergespielt, nachdem er mittels |MP3HOLD angehalten wurde.
           Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak FS!

|MP3RES..: Setzt das MP3 Modul zurck, sollte nach dem Einschalten angewendet werden.
           Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak FS!

|MP3SLEEP: Versetzt das MP3 Modul in den Schlaf Modus (sleep mode). (Ermglicht weitere serielle Kommunikation?!??)
           Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak FS!

|MP3WAKE.: Weckt das MP3 Modul auf, nachdem es mit |MP3SLEEP in den Schlaf-Modus versetzt wurde
           Achtung: Dieses Kommando aktiviert den Seriellen Modus des LambdaSpeak FS!



Kommandos um den seriellen Anschlu des LambdaSpeak FS zu kontrollieren
-----------------------------------------------------------------------
Der LFS besitzt eine 4 Pin serielle Schnittstelle die mit 5 Volt Pegeln arbeitet.
- Der serielle Modus wird fr das MP3 Modul bentig.
- Er dient z.B. auch dem MIDI in und MIDI out.

|SERIAL: Schalted den seriellen Modus ein
         Beim Einschalten des seriellen Modus ist der gepufferte Modus selektiert (siehe LS in github)
         Achtung: Bevor man den seriellen Modus nutzt ist es ntig den LS entweder mit dem Kommando:
         -------- |LSINIT / |LSINIC zu initialisieren oder zumindest Kommando |GETFAST zu nutzen.

|SEROFF: Schalted den seriellen Modus aus


|S.CMD.: Mit '|S.CMD,a%[,b%,c%,d%,...]' wird ein Kommando zur Steuerung der seriellen Schnittstelle gesendet.
         Ein Kommando kann aus einem bis zu drei Bytes bestehen.
         Achtung: Diese Kommandos geben keine Daten zurck!
         Hier ist die Tabelle mglicher Kommandos:

Kommando Byte	Erklrung					Anmerkung
--------------------------------------------------------------------------------------------------------------------------
 1, x		Lese x vom CPC und schicke X an LS (Tx)
		Schicke x direkt and den LS (Tx), und damit den Empfnger
 2		Sende alle Bytes aus Schreibe-Puffer an Tx
		Gesamten Puffer an Empfnger (Tx) abschicken
		Der Puffer hat maximal 256 + 268 = 524 Bytes Platz
 6		Resettiere beide Zeiger (Rx & Tx) der Puffer
		Pufferzeiger (Lesen und Schreiben) auf 0 setzen
10		SERIAL MONITOR SUB MODE FOR RX / SERIAL IN
		Zum Beispiel fr Echtzeit MIDI IN
15		Sprich Modus (BAUD, Width, Parity, Stop Bits)
		Die 'Confirmations' mssen erlaub sein
16		Direkter Modus EIN (setzt auch alle Puffer-Zeiger zurck)
		Keine 'CPC -> LS -> SIO' Schreib-Pufferung. 
		Daten werden direkt an dden Empfnger (Tx) geschickt
17		Direkter Modus AUS (setzt auch alle Puffer-Zeiger zurck)
		Pufferung 'CPC -> LS -> SIO (Tx) Daten' aktiv.
		Nutze Kommando 2 um Puffer an Empfnger zu senden.
20		Seriellen Modus zurcksetzen und beenden
		Entspricht dem Druck des Reset-Knopfes
30, Baud	Setze BAUD Rate (0 bis 14), siehe Tabelle
		Die Standard Baudrate ist 9600 (baud = 2, oder > 14)


Baud Raten - LambdaSpeak FS - Bitte nutzen Sie diese!
-----------------------------------------------------
 0 =   2400 Baud
 1 =   4800 Baud
 2 =   9600 Baud (Werte von 15 bis 255 entsprechen Wert 2)
 3 =  14400 Baud
 4 =  19200 Baud
 5 =  28800 Baud
 6 =  31250 Baud  MIDI
 7 =  38400 Baud
 8 =  57600 Baud
 9 =  76800 Baud
10 = 115200 Baud
11 =    300 Baud *
12 =    600 Baud *
13 =    900 Baud *
14 =   1200 Baud *
---------------------------------------------------
* Baudraten warem beim LS3 anders belegt.


Baud Raten - LambdaSpeak III - Attention LS3 ONLY!
--------------------------------------------------
 0 =   2400 Baud
 1 =   4800 Baud
 2 =   9600 Baud (Werte von 16 bis 255 entsprechen Wert 2)
 3 =  14400 Baud
 4 =  19200 Baud
 5 =  28800 Baud
 6 =  31250 Baud  MIDI
 7 =  38400 Baud
 8 =  57600 Baud
 9 =  76800 Baud
10 = 115200 Baud
11 = 208333 Baud *
12 = 250000 Baud *
13 = 312500 Baud *
14 = 416667 Baud *
15 = 625000 Baud *
--------------------------------------------------
* Baudraten sind beim neuen LS FS anders belegt.


Command Bytes	Explanation
-----------------------------------------------------------------
 31, width	Setze word width: width = 5...8
		Default 8 bits
 32, parity	Setze Paritt: 0, 1, 2
		0 = Keine (Default), 1 = ungerade, 2 = gerade
 33, stop	Setze Nummer der Stop Bits: 1, 2
		1 = Default
 50		SERIAL MONITOR SUB MODE RX AND TX (SERIAL IO)
		Zum Beispiel fr Echtzeit MIDI IN/OUT
&C3		LS spricht aktuelle Modus-Information
		Entspricht Kommando &C3 whrend des Sprach-Modus
&F2		Lese Modus Descriptor Byte
		Entspricht Kommando &F2 whrend des Sprach-Modus
&FF		Sende Byte 255
		Sende 255 zweimal um 255 zu bertragen
-----------------------------------------------------------------


|X.CMD.: Mit '|X.CMD,cmd,@data%' wird ein Kommando an die seriellen Schnittstelle gesendet und ein Ergebnis-Byte abgeholt.
         Achtung: Diese Kommandos geben ein Ergebnis-Byte zurck!
         Hier ist die Tabelle mglicher Kommandos:

Command	Erklrung
Byte(s) Anmerkung
--------------------------------------------------------------------------------
  3	Lese low byte der 'Bytes in Lesepuffer'		   / Max. 522 Bytes
	Prft ob Bytes vom Sender (Rx) empfangen wurden	  /  523 -> Puffer voll!
  4	Lese high byte der 'Bytes in Lesepuffer'	 /
	Prft ob Bytes vom Sender (Rx) empfangen wurden /
  5	Prfe, ob Sende-/Empfangspuffer voll ist
	= 1 wenn voll. Andernfalls = 0
  7	Prfe ob Daten-Byte im Puffer vorhanden ist
	= 1 wenn Lese-Cursor < Eingabe-Cursor.
	Es sind also Daten zum lesen 'LS -> CPC' vorhanden
  8	Get byte from buffer at read cursor position
	Byte will appear on databus
  9	Get byte at read cursor position, inc. cursor
	Read receive buffer byte by byte
 14	Ermittle Schreib-Modus (direkt oder gepuffert)
	1 = Direkter Modus, 0 = Senden gepuffert
&F2	Lese Modus Descriptor Byte
	Entspricht Kommando &F2 whrend des Sprach-Modus
--------------------------------------------------------------------------------


|S.DAT.: Mit '|S.DAT,byte' wird ein Daten-Byte (0-255) an die serielle Schnittstelle gesendet.

|S.STR.: Mit '|S.STR,@text$' wird der String 'text$' an die serielle Schnittstelle geschickt.

|R.DAT.: Das Kommando '|R.DAT,@data%' liest ein Byte von der seriellen Schnittstelle in Variable 'data%' ein

|R.STAT: Die Anzahl der Daten-Bytes im Puffer LS wird mit '|R.STAT,v%' in die Variable 'v%' geschrieben.


Geplante RSX Kommandos:
-----------------------
|S.FILE: Mit '|S.FILE,file$' wird die Datei 'file$' gelesen und seriell gesendet.

|R.FILE: Mittels '|R.FILE,file$' wird die Datei 'file$' vom seriellen Port gelesen und auf Disk gespeichet.


Verbindung zweier LambdaSpeak FS/III via serieller Schnittstelle:
-----------------------------------------------------------------
 LS 1 ! LS 2
------+-------
RX  <---> TX
TX  <---> RX
GND <---> GND
--------------



MIDI
====
Generelle Informationen zu MIDI:
https://www.cs.cmu.edu/~music/cmsip/readings/davids-midi-spec.htm


MIDI Interface
--------------
https://www.amazon.com/ubld-it-MIDI-Breakout-Board-EZ/dp/B08JC1SZHG/


Anschlu des LambdaSpeak FS an das MIDI Breakout Board:
-------------------------------------------------------
LS    !   MIDI Breakout
-----------------------
TX  <---> TX
RX  <---> RX
5V  <---> + (Vcc)
GND <---> - (GND)
-----------------------



Zustzliche Befehle
-------------------

|SPEAKINFO: Gibt Informationen ber den LambdaSpeak FS Synthesizer an.

|DAISY....: Singt ein Lied im DECtalk Modus

|HAL9000..: Zitiert den legendren HAL9000 Computer.

|LEDON....: LED Modus einschalten. Alle Werte die Sie ab jetzt mittels '|LEDSET' senden werden via LED's angezeigt.

|LEDOFF...: Schaltet den LED Modus wieder aus.

|LEDSET...: Das Format des Befehls ist |LEDSET,0-255. Die LEDs werden abhngig von bergebenen Wert eingeschalten.

|GETTEMP..: Das Format des Befehls ist t%=0:|GETTEMP,@t%
            Dieser Befehl liest die aktuelle Temperatur der Platine der Echtzeituhr.
            Dieses Kommando schaltet den Lambda/Epson Modus ein (falls nicht schon DEC bzw. Epson Mode aktiv)

|BIGWATCH.: Dieses Kommando stelle eine GROSSE Uhr auf dem Bildschirm dar. Datum und Temperatur werden auch angegeben.



Die Hardware des LambdaSpeak FS
===============================
Weitere Informationen ber diese wunderbare Hardware knnen Sie hier finden: 
https://github.com/lambdamikel/LambdaSpeak-FS



DIP Schalter
------------

Was kann man mit den DIP Schalten konfigurieren?
------------------------------------------------
Die DIP Schalter haben folgende Bewandtnis, von links nach rechts = 1 bis 8:

1 = Linker Kanal Sprache ..................... Ein
2 = Linker Kanal PCM (Amdrum) ................ Aus
3 = Linker Kanal in den CPC (Sound Input) .... Ein

4 = Rechter Kanal Sprache .................... Aus
5 = Rechter Kanal PCM (Amdrum) ............... Ein
6 = Rechter Kanal in den CPC (Sound Input) ... Ein

7 = Segment-LEDs An / Aus .................... Ein
8 = MP3 An / Aus ............................. Ein
    Wenn man das MP3 Modus ausschalten, so spart man Strom.
    Der serielle Port wird dabei ebenfalls deakiviert.


Werkseinstellung DIP Schalter
-----------------------------
Nr.:12345678
Ein:X X XXXX
Aus: X X



Updates / Version 3.18
----------------------
2021.05.24: Neue Firmware, neues RSX ROM dazu. Bessere serielle bertragung.
2021.03.12: Update der Seriellen Kommandos - Neue Firmware Version 8 ntig
2021.03.01: Kommando '|ADEXIT' zum Verlassen des Amdrum Modus hinzugefgt. Prodatrons Digitracker fr Amdrum Mode angepasst.
2021.01.24: Erste Verffentlichung, alles getestet und funktionell



Greets,
TFM of FutureSoft




























Stop scrolling... nothing will show up...













































Now you know it better ;-)


















This software is powered by FutureSoft and lots of CPC spirit, also plenty of 6128plus spirit ;-)



Shall this hardware and software bring light, love, peace, health and eternal youth into your life!!!











